fputc関数は、ファイルポインタで示されるファイルに1文字出力します。fputc関数とputc関数は機能及び、形式とも同じですが、putc関数はマクロとして実装されている可能性があります。
#include <stdio.h>
int fputc(int c, FILE *stream);
cは出力する1文字を指定します。型名はint型ですので注意してください。
*streamはfopen関数で取得した、ファイルポインタを指定します。
戻り値として、出力した1文字をint型として返します。エラーの場合はEOFの値を返します。
プログラム 例
#include <stdio.h>
int main(int argc, char **argv)
{
FILE *fp_in;
FILE *fp_out;
int in_data;
int return_code = 0;
if (argc == 3) {
if ((fp_in = fopen(*(argv + 1), 'r')) != NULL) {
if ((fp_out = fopen(*(argv + 2), 'w')) != NULL) {
while((in_data = fgetc(fp_in)) != EOF) {
fputc(in_data, fp_out);
}
fclose(fp_in);
fclose(fp_out);
}
else {
printf('出力ファイルのオープンに失敗しました\n');
return_code = 1;
}
}
else {
printf('入力ファイルのオープンに失敗しました\n');
return_code = 1;
}
}
else {
printf('実行時引数の数が不当です\n');
return_code = 2;
}
return return_code;
}
例の実行結果
$ cat temp.txt
#include <stdio.h>
int main()
{
printf('Hello World!!.\n');
return 0;
}
$
$ ./fputc.exe temp.txt temp1.txt
$
$ cat temp1.txt
#include <stdio.h>
int main()
{
printf('Hello World!!.\n');
return 0;
}
$